home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / doc / os_390.txt < prev    next >
Encoding:
Text File  |  2001-09-26  |  9.1 KB  |  284 lines

  1. *os_390.txt*    For Vim version 6.0.  Last change: 2001 Sep 08
  2.  
  3.  
  4.           VIM REFERENCE MANUAL      by Ralf Schandl
  5.  
  6.  
  7.                             *OS390* *os390*
  8. This file contains the particularities for the OS/390 Unix version of Vim.
  9.  
  10. 1. Your feedback is needed        |OS390-feedback|
  11. 2. Building VIM for OS/390 Unix        |OS390-building|
  12. 3. ASCII/EBCDIC dependent scripts    |OS390-has-ebcdic|
  13. 4. Xterm Problems            |OS390-xterm|
  14. 5. Motif Problems            |OS390-Motif|
  15. 6. Known weaknesses            |OS390-weaknesses|
  16. 7. Changes                |OS390-changes|
  17.  
  18. The port to OS/390 Unix was done by Ralf Schandl <schandl@de.ibm.com>
  19. for the redbook mentioned below.
  20.  
  21. DISCLAIMER:
  22. Also I am an IBMer, IBM is not responsible for this port, this is my
  23. private fun. If you have problems with this port, please contact me.
  24.  
  25. If you want to use more Open Source Software on OS/390 Unix have a look
  26. at the following Redbook (www.redbooks.ibm.com):
  27.  
  28.     Mike MacIsaak et al
  29.     "Open Source Software on OS/390 Unix"
  30.     SG24-5944-00
  31.  
  32. AFAIK a new edition of this redbook will be released in 2001.
  33.  
  34. Changes or bugreports or both by:
  35.  
  36.     David Moore
  37.     Anthony Giorgio
  38.     and others
  39.  
  40. ==============================================================================
  41. 1. Your feedback is needed                *OS390-feedback*
  42.  
  43. A lot of changes had to be done to the code to get Vim on OS/390 Unix. As most
  44. Unix programs it contained heavy ASCII dependencies. It might be, that I
  45. missed a ASCII dependency or that a new one has been added with a new feature
  46. or bug fix. Most programmers are simply not aware of possible ASCII/EBCDIC
  47. problems. If you hit a problem, that seems related to this, feel free to
  48. contact me at the email address above.
  49.  
  50. Only if you report a bug, it is possible to fix it. Don't rely on someone else
  51. reporting it! Also see the section |bug-reports|.
  52.  
  53.  
  54. ==============================================================================
  55. 2. Building VIM for OS/390 Unix                *OS390-building*
  56.  
  57. A word on debugging code first: ~
  58.  
  59. The normal run of configure adds the flag '-g' to the compiler options,
  60. to include debugging information into the executable. This information
  61. are normally removed from the executable with the strip command during
  62. installation. On OS/390 Unix, it is not possible to remove this from
  63. the executable. The strip command exists on OS/390 Unix and is called
  64. during the installation, but in fact it just does nothing.
  65.  
  66. If you want to build Vim without debugging code, export the environment
  67. variable CFLAGS set to an empty string, before you call configure.
  68. >
  69.     export CFLAGS=""
  70. <
  71.  
  72.  
  73. Building without X11: ~
  74.  
  75. Note: I always used cc to build Vim, I never tried c89.
  76.  
  77. If you build VIM without X11 support, compiling and building is
  78. straightforward, but don't forget to export _CC_CCMODE=1 before calling
  79. configure and make.
  80. >
  81.     $ export _CC_CCMODE=1
  82.     $./configure --with-features=big --without-x --enable-gui=no
  83.     $ make
  84.     $ make test
  85. <
  86.     Note: Test 11 will fail, if you don't have gzip installed.
  87.     Test 42 will fail, as VIM on OS/390 Unix doesn't support the multibyte
  88.     feature. (David Moore: "Doesn't work _yet_!  :-)  I'll see what I
  89.     can do.")
  90.     As of 07. September 2001 Test 45 (folding) fails.
  91. >
  92.  
  93.     $ make install
  94. <
  95.  
  96.  
  97. Building with X11: ~
  98.  
  99. There are two ways for building VIM with X11 support. You can link it
  100. statically with the X11 libraries or can bind it with the X11 DLLs. The
  101. statical link results in a huge executable (~13Mb), the dynamical linked
  102. executable is much smaller (~4.5Mb).
  103.  
  104. Here is what you do, if you want Motif:
  105.  
  106.   a) Static link >
  107.     $ configure --with-features=big --enable-gui=motif
  108.     $ make
  109. <
  110.      VIM is now linked statically with the X11 libraries.
  111.  
  112.   b) Dynamic link:
  113.      Make VIM as described for the static link. Then change the contense of
  114.      the 'auto/link.sed' file by appending: >
  115.     s%-lXm  *%/usr/lib/Xm.x %g
  116.     s%-lX11  *%/usr/lib/X11.x %g
  117.     s%-lSM  *%/usr/lib/SM.x %g
  118.     s%-lICE  *%/usr/lib/ICE.x %g
  119. <
  120.      Then do: >
  121.     $ rm vim
  122.     $ make
  123. <
  124.      Now Vim is linked with the X11-DLLs.
  125.  
  126. See the Makefile and the file link.sh on how link.sed is used.
  127.  
  128.  
  129. ==============================================================================
  130. 3. ASCII/EBCDIC dependent scripts            *OS390-has-ebcdic*
  131.  
  132. For the internal script language the feature "ebcdic" was added. With this
  133. you can fix ASCII dependent scripts like this:
  134. >
  135.     if has("ebcdic")
  136.     let space = 64
  137.     else
  138.     let space = 32
  139.     endif
  140. <
  141.  
  142. ==============================================================================
  143. 4. XTerm problems                    *OS390-xterm*
  144.  
  145. I saw one problem with XTerm on OS390 Unix.  The terminal code for moving the
  146. cursor to the left is wrong in the termlib database.  Perhaps not wrong, but
  147. it didn't work with VIM syntax highlighting and command line cursor movement.
  148.  
  149. If the highlighting is messed up while you type, but is ok after you refreshed
  150. the screen with <C-L> or if you can't move to the left with the cursor key on
  151. the command line, try adding >
  152.         :set t_le=^H
  153. <
  154. to your .vimrc. NOTE: '^H' is one character, hit <C-V><C-H> to get it.
  155.  
  156. ==============================================================================
  157. 5. Motif Problems                    *OS390-Motif*
  158.  
  159. It seems that in the Motif library a translation from EBCDIC to ASCII for
  160. Mnemonic chars of the menus were forgotten. Even after I tried some
  161. conversion by hand, it still only works for opening menus (like <Alt-F> to
  162. open the file menu), but doesn't work for the menu items (like <Alt-F>O to
  163. open the file browser). No solution for this yet.
  164.  
  165.  
  166. ==============================================================================
  167. 6. Known weaknesses                    *OS390-weaknesses*
  168.  
  169. - No binary search in tag files.
  170.   The program /bin/sort sorts by ASCII value by default. This program is
  171.   normally used by ctags to sort the tags. There might be a version of
  172.   ctags out there, that does it right, but we can't be sure. So this seems to
  173.   be a permanent restriction.
  174.  
  175. - Multibyte support (utf-8) doesn't work, it's disabled at compile time.
  176.   (|multibyte|)
  177.  
  178.  
  179. Never tested:
  180.     - Perl interface        (|perl|)
  181.     - Hangul input        (|hangul|)
  182.     - Cscope interface        (|cscope|)
  183.     - Encryption support    (|encryption|)
  184.     - Langmap            (|'langmap'|)
  185.     - Python support        (|Python|)
  186.     - Right-to-left mode    (|'rightleft'|)
  187.     - SNiFF+ interface        (|sniff|)
  188.     - TCL interface        (|tcl|)
  189.     ....
  190.  
  191. If you try on of this and it works drop me a note!!
  192.  
  193. ==============================================================================
  194. 7. Changes                        *OS390-changes*
  195.  
  196. This doesn't include all changes made for EBCDIC/OS390, but is just a
  197. reference for me.
  198.  
  199. 6.0au:
  200.   Changed configure.in
  201.   Changed documentation.
  202.   Anthony Giorgio fixed the errorbell.
  203.  
  204.   David Moore found some problems, which were fixed by Bram and/or David for
  205.   6.0au.
  206.  
  207. 6.0q (alpha):
  208.   Minor changes for nrformats=alpha (see |'nrformats'|).
  209.   Problem with hardcoded keycode for the english pound sign. Added a define in
  210.   ascii.h
  211.   Disabled multibyte for EBCDIC in feature.h
  212.  
  213. 6.0f (alpha):
  214.   First compile of Vim 6 on OS/390 Unix. Some minor changes were needed.
  215.  
  216.   Finally found the reason why make from the toplevel didn't work (I must have
  217.   been blind before!). The Makefile contained a list of targets in one target
  218.   line. On all other Unixes the macro $@ evaluates to the first target in this
  219.   list, only on OS/390 Unix it evaluates to the last one :-(.
  220.  
  221. 5.6-390d:
  222.   Cleaned up some hacks.
  223.  
  224. 5.6-390c:
  225.  
  226.   I greped thru the source and examined every spot with a character
  227.   involved in a operation (+-). I hope I now found all EBCDIC/ASCII
  228.   stuff, but ....
  229.  
  230.   Fixed:
  231.     - fixed warning message in do_fixdel()
  232.     - fixed translation from Ctrl-Char to symbolic name (like ^h to CTRL-H)
  233.         for :help
  234.     - fixed yank/delete/... into register
  235.     - fixed :register command
  236.     - fixed viminfo register storing
  237.     - fixed quick-access table in findoptions()
  238.     - fixed 'g^H' select mode
  239.     - fixed tgetstr() 'get terminal capability string', ESC and
  240.         Ctrl chars where wrong. (Not used on OS 390 Unix)
  241.  
  242.  
  243.   ctags:
  244.     - added trigraphs support (used in prolog of system header files)
  245.         (get.c)
  246.     - fixed sorting order with LC_COLLATE=S390 to force EBCDIC sorting.
  247.         (sort.c)
  248.  
  249.  
  250. 5.6-390b:
  251.   Changed:
  252.     - configure.in:
  253.     - added test for OS/390 Unix
  254.     - added special compiler and linker options if building with X11
  255.     - configure:
  256.     - after created via autoconf handedited it to make the test for
  257.       ICEConnectionNumber work. This is a autoconf problem. OS/390 Unix
  258.       needs -lX11 for this.
  259.     - Makefile
  260.     - Don't include the lib directories ('-L...') into the variable
  261.       ALL_LIBS. Use own variable ALL_LIB_DIRS instead. A fully POSIX
  262.       compliant compiler must not accept objects/libraries and options
  263.       mixed. Now we can call the linker like this:
  264.  
  265.         $(CC) $(LDFLAGS) $(ALL_LIB_DIRS) $(OBJ) $(ALL_LIBS)
  266.  
  267.   Fixed:
  268.     - Double quote couldn't be entered
  269.       Missed ASCII dependencies while setting up terminal
  270.       In ASCII 127 is the delete char, in EBCDIC codepage 1047 the value 127
  271.       is the double quote.
  272.     - fixed ':fixdel'
  273.  
  274. 5.6-390a:
  275.   first alpha release for OS/390 Unix.
  276.  
  277.   Addition:
  278.     - For the internal script language I added the feature "ebcdic".
  279.       This can be queried with the has()-function of the internal
  280.       script language.
  281.  
  282. ------------------------------------------------------------------------------
  283.  vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
  284.